package cn.iocoder.yudao.module.train.controller.admin.coursecommodity.vo;

import lombok.*;

import java.time.LocalDate;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 课程商品管理分页 Request VO")
@Data
public class CourseCommodityPageReqVO extends PageParam {

    @Schema(description = "课程关联id", example = "25821")
    private Long courseId;

    @Schema(description = "课程商品关联老师", example = "25478")
    private Long teacherId;

    @Schema(description = "课程商品封面", example = "https://www.iocoder.cn")
    private String courseCoverUrl;

    @Schema(description = "课程商品价格", example = "9757")
    private BigDecimal commodityPrice;

    @Schema(description = "授课总时长（小时）")
    private Integer teachingAllTime;

    @Schema(description = "每次授课时长（小时）")
    private Integer teachingTime;

    @Schema(description = "开课时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] beginTime;

    @Schema(description = "结课时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] endTime;

    @Schema(description = "vip标识", example = "0")
    private String vipFlag;

    @Schema(description = "报名人数")
    private Long applicantNumber;

    @Schema(description = "课程标记(0-推荐1-新课2-畅销3-热门）", example = "0")
    private String courseFlag;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;


    @Schema(description = "课程名称", example = "芋艿")
    private String name;
    @Schema(description = "老师姓名", example = "王五")
    private String teacherName;

    @Schema(description = "商品名称", example = "javaWeb2024")
    private String commodityName;

    @Schema(description = "商品上架状态", example = "0")
    private String status;
}
